package org.finesys.chat.core.base.embedding.store.pgvector;

import org.finesys.chat.core.base.document.Metadata;
import org.finesys.chat.core.base.embedding.filter.Filter;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;

public interface MetadataHandler {

    String columnDefinitionsString();

    void createMetadataIndexes(Statement statement, String index);

    List<String> columnsNames();

    String whereClause(Filter expression);

    Metadata fromResultSet(ResultSet resultSet);

    String insertClause();

    void setMetadata(PreparedStatement preparedStatement, Integer index, Metadata metadata);
}
